package com.sdgs.app.utils;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 配置文件工具类。
 * Created by licheng on 2017/7/31.
 */
@Component
public class ConfigUtil {


    /**
     * 工程名。
     */
    @Value("${spring.application.name}")
    private String projectName;

    /**
     * 工程缓存前缀。
     */
    @Value("${spring.application.name}")
    private String redisCachePrefix;

    public static final Log LOGGER = LogFactory.getLog(ConfigUtil.class);

    private static ConfigUtil configUtil;

    public static ConfigUtil getInstance() {
        if (configUtil == null) {
            configUtil = SpringContextUtil.getBean(ConfigUtil.class);
        }
        return configUtil;
    }

    /**
     * 获取工程名称。
     *
     * @return
     */
    public static String getProjectName() {
        return getInstance().projectName;
    }

    /**
     * 获取缓存前缀。
     *
     * @return
     */
    public static String getRedisCachePrefix() {
        return getInstance().redisCachePrefix;
    }


    /**
     * 获取缓存前缀全称。
     *
     * @return
     */
    public static String getFullCachePrefix() {
        return String.format("%s:%s:", getProjectName(), getRedisCachePrefix());
    }


}
